package com.java.day10.homework;

import java.util.Arrays;

/**
 * 解析url
 * 写一个方法，返回url中的所有参数的参数名
 * 例如，对于 url = "http://www.baidu.com/s?tn=json&word=onepiece&rn=10"
 * 返回： [tn, word, rn]
 *
 *
 * 使用String方法:
 *
 */
public class Homework1 {

    public static void main(String[] args) {
        String url = "http://www.baidu.com/s?tn=json&word=onepiece&rn=10&abc=123";
        String[] nameArr = parseParamNames(url);
        System.out.println(Arrays.toString(nameArr));
    }

    public static String[] parseParamNames(String url) {
        //获取"?"首次出现的下标
        int i = url.indexOf("?");
        String str;
        if(i!=-1){
            //截取"?"后面(不包括"?")的字符串
            str = url.substring(i+1);
        }else{
            System.out.println("字符串中未找到'?'");
            return null;
        }
        //将截取到的字符串转换为数组(通过"&"分割)
        String[] split = str.split("&");

        //返回值
        String[] paramName = new String[split.length];

        //遍历数组
        for (int j = 0; j < split.length; j++) {
            //获取数组元素的"="首次出现的下标
            int s = split[j].indexOf("=");
            paramName[j] = split[j].substring(0,s);
        }
        return paramName;
    }

}
